home *** CD-ROM | disk | FTP | other *** search
/ HAKERIS 11 / HAKERIS 11.ISO / linux / system / LinuxConsole 0.4 / linuxconsole0.4install-en.iso / guile0.4.lcm / share / guile / slib / Makefile < prev    next >
Encoding:
Makefile  |  2004-01-06  |  10.3 KB  |  308 lines

  1. # Makefile for Scheme Library
  2. # Copyright (C) 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998 Aubrey Jaffer.
  3.  
  4. SHELL = /bin/sh
  5. intro:
  6.     @echo
  7.     @echo "Welcome to SLIB.  Read \"README\" and \"slib.info\" (or"
  8.     @echo "\"slib.texi\") to learn how to install and use SLIB."
  9.     @echo
  10.     @echo
  11.     -make slib.info
  12.  
  13. srcdir=$(HOME)/slib/
  14. PREVDOCS = slib/
  15. dvidir=../dvi/
  16. dvi:    $(dvidir)slib.dvi
  17. $(dvidir)slib.dvi:    version.txi slib.texi $(dvidir)slib.fn
  18. #    cd $(dvidir);export TEXINPUTS=$(srcdir):;texi2dvi $(srcdir)slib.texi
  19.     -(cd $(dvidir);export TEXINPUTS=$(srcdir):;texindex slib.??)
  20.     cd $(dvidir);export TEXINPUTS=$(srcdir):;tex $(srcdir)slib.texi
  21. $(dvidir)slib.fn:
  22.     cd $(dvidir);export TEXINPUTS=$(srcdir):;tex $(srcdir)slib.texi
  23. xdvi:    $(dvidir)slib.dvi
  24.     xdvi -s 6 $(dvidir)slib.dvi
  25. htmldir=../public_html/
  26. slib_toc.html:    version.txi slib.texi
  27.     texi2html -split -verbose slib.texi
  28.  
  29. $(PREVDOCS)slib_toc.html:
  30.     cd slib;make slib_toc.html
  31.     cd slib;texi2html -split -verbose slib.texi
  32.  
  33. html:    $(htmldir)slib_toc.html
  34. $(htmldir)slib_toc.html:    slib slib_toc.html Makefile
  35.     hitch $(PREVDOCS)slib_\*.html slib_\*.html $(htmldir)
  36.  
  37. prefix = /usr/local
  38. exec_prefix = $(prefix)
  39. bindir = $(exec_prefix)/bin
  40. libdir = $(exec_prefix)/lib
  41. infodir = $(exec_prefix)/info
  42. RUNNABLE = scheme48
  43. LIB = $(libdir)/$(RUNNABLE)
  44. VM = scheme48vm
  45. IMAGE = slib.image
  46. INSTALL_DATA = install -c
  47.  
  48. slib48.036:
  49.     (echo ,load `pwd`/scheme48.init; \
  50.      echo "(define *args* '())"; \
  51.      echo "(define (program-arguments) (cons \"$(VM)\" *args*))"; \
  52.      echo ,dump $(LIB)/$(IMAGE); \
  53.      echo ,exit) | scheme48
  54.     (echo '#!/bin/sh'; \
  55.      echo exec '$(LIB)/$(VM)' -i '$(LIB)/$(IMAGE)' \"\$$\@\") \
  56.       > $(bindir)/slib48
  57.     chmod +x $(bindir)/slib48
  58.  
  59. $(LIB)/slibcat:
  60.     touch $(LIB)/slibcat
  61.  
  62. slib48:    $(LIB)/slibcat Makefile
  63.     (echo ",batch on"; \
  64.      echo ",config"; \
  65.      echo ",load =scheme48/misc/packages.scm"; \
  66.      echo "(define-structure slib-primitives"; \
  67.      echo "     (export s48-error"; \
  68.      echo "       s48-ascii->char"; \
  69.      echo "       s48-force-output"; \
  70.      echo "       s48-current-error-port"; \
  71.      echo "       s48-system";\
  72.      echo "       s48-with-handler";\
  73.      echo "       s48-getenv)";\
  74.      echo "     (open scheme signals ascii extended-ports i/o"; \
  75.      echo "           primitives handle unix-getenv)"; \
  76.      echo "     (begin"; \
  77.      echo "       (define s48-error error)"; \
  78.      echo "       (define s48-ascii->char ascii->char)"; \
  79.      echo "       (define s48-force-output force-output)"; \
  80.      echo "       (define s48-current-error-port current-error-port)"; \
  81.      echo "       (define (s48-system c) (vm-extension 96 c))"; \
  82.      echo "       (define s48-with-handler with-handler)"; \
  83.      echo "       (define s48-getenv getenv)))"; \
  84.      echo ",user"; \
  85.      echo ",open slib-primitives"; \
  86.      echo "(define (implementation-vicinity) \"$(LIB)/\")"; \
  87.      echo "(define (library-vicinity) \"`pwd`/\")"; \
  88.      echo ",load scheme48.init"; \
  89.      echo "(define *args* '())"; \
  90.      echo "(define (program-arguments) (cons \"scheme48\" *args*))"; \
  91.      echo "(set! *catalog* #f)"; \
  92.      echo ",collect"; \
  93.      echo ",batch off"; \
  94.      echo ",dump $(IMAGE) \"(slib $(VERSION))\""; \
  95.      echo ",exit") | scheme48
  96.  
  97. install48: slib48
  98.     $(INSTALL_DATA) $(IMAGE) $(LIB)
  99.     (echo '#!/bin/sh'; \
  100.      echo exec $(RUNNABLE) -i '$(LIB)/$(IMAGE)' \"\$$\@\") \
  101.       > $(bindir)/slib48
  102.     chmod +x $(bindir)/slib48
  103.  
  104. #### Stuff for maintaining SLIB below ####
  105.  
  106. VERSION = 2c8
  107. ver = $(VERSION)
  108. version.txi:    Makefile
  109.     echo @set SLIBVERSION $(VERSION) > version.txi
  110.     echo @set SLIBDATE `date +"%B %Y"` >> version.txi
  111.  
  112. scheme = scm
  113.  
  114. htmlform.txi:     *.scm
  115.     $(scheme) -rschmooz -e'(schmooz "slib.texi")'
  116. slib.info:    version.txi slib.texi htmlform.txi objdoc.txi
  117.     makeinfo slib.texi --no-split -o slib.info
  118.     mv slib.info slib$(VERSION).info
  119.     if [ -f $(PREVDOCS)slib.info ]; \
  120.         then infobar $(PREVDOCS)slib.info slib$(VERSION).info slib.info; \
  121.         else cp slib$(VERSION).info slib.info;fi
  122. info:    installinfo
  123. installinfo:    $(infodir)/slib.info
  124. $(infodir)/slib.info:    slib.info
  125.     cp -a slib.info $(infodir)/slib.info
  126.     -install-info $(infodir)/slib.info $(infodir)/dir
  127.     -rm $(infodir)/slib.info.gz
  128. infoz:    installinfoz
  129. installinfoz:    $(infodir)/slib.info.gz
  130. $(infodir)/slib.info.gz:    $(infodir)/slib.info
  131.     gzip -f $(infodir)/slib.info
  132.  
  133. ffiles = printf.scm format.scm genwrite.scm obj2str.scm pp.scm \
  134.     ppfile.scm strcase.scm debug.scm trace.scm lineio.scm \
  135.     strport.scm scanf.scm chap.scm qp.scm break.scm stdio.scm \
  136.     strsrch.scm prec.scm schmooz.scm
  137. lfiles = sort.scm comlist.scm tree.scm logical.scm random.scm tsort.scm
  138. revfiles = sc4opt.scm sc4sc3.scm sc2.scm mularg.scm mulapply.scm \
  139.     trnscrpt.scm withfile.scm dynwind.scm promise.scm values.scm \
  140.     eval.scm
  141. afiles = ratize.scm randinex.scm modular.scm factor.scm \
  142.      charplot.scm root.scm minimize.scm cring.scm determ.scm \
  143.      selfset.scm psxtime.scm cltime.scm timezone.scm tzfile.scm
  144. bfiles = collect.scm fluidlet.scm struct.scm object.scm recobj.scm yasyn.scm
  145. scfiles = r4rsyn.scm scmacro.scm synclo.scm synrul.scm synchk.scm \
  146.     repl.scm macwork.scm mwexpand.scm mwdenote.scm mwsynrul.scm
  147. scafiles = scainit.scm scaglob.scm scamacr.scm scaoutp.scm scaexpp.scm \
  148.     structure.scm
  149. dfiles = defmacex.scm mbe.scm
  150. efiles = record.scm dynamic.scm queue.scm process.scm \
  151.     priorque.scm hash.scm hashtab.scm alist.scm \
  152.     wttree.scm wttest.scm array.scm arraymap.scm \
  153.     sierpinski.scm soundex.scm byte.scm nclients.scm
  154. rfiles = rdms.scm alistab.scm dbutil.scm paramlst.scm report.scm \
  155.     batch.scm makcrc.scm dbrowse.scm comparse.scm getopt.scm \
  156.     htmlform.scm db2html.scm getparam.scm glob.scm fft.scm
  157. gfiles = tek40.scm tek41.scm
  158. docfiles = ANNOUNCE README FAQ slib.info slib.texi objdoc.txi fmtdoc.txi \
  159.     ChangeLog
  160. mfiles = Makefile require.scm Template.scm syncase.sh mklibcat.scm \
  161.     Bev2slib.scm
  162. ifiles = bigloo.init chez.init elk.init macscheme.init \
  163.     mitscheme.init scheme2c.init scheme48.init gambit.init t3.init    \
  164.     vscm.init mitcomp.pat scm.init scsh.init pscheme.init STk.init    \
  165.     RScheme.init umbscheme.init
  166. tfiles = plottest.scm formatst.scm macrotst.scm scmactst.scm \
  167.     dwindtst.scm structst.scm
  168. sfiles = $(ffiles) $(lfiles) $(revfiles) $(afiles) $(scfiles) $(efiles) \
  169.     $(rfiles) $(gfiles) $(scafiles) $(dfiles)
  170. allfiles = $(docfiles) $(mfiles) $(ifiles) $(sfiles) $(tfiles) $(bfiles)
  171.  
  172. makedev = make -f $(HOME)/makefile.dev
  173. CHPAT=$(HOME)/bin/chpat
  174. RSYNC=rsync -vt --rsync-path=bin/rsync
  175. dest = $(HOME)/dist/
  176. temp/slib:    $(allfiles)
  177.     -rm -rf temp
  178.     mkdir temp
  179.     mkdir temp/slib
  180.     ln  $(allfiles) temp/slib
  181.  
  182. infotemp/slib:    slib.info
  183.     -rm -rf infotemp
  184.     mkdir infotemp
  185.     mkdir infotemp/slib
  186.     ln slib.info slib.info-* infotemp/slib
  187. #For change-barred HTML.
  188. slib:
  189.     unzip -a $(dest)slib[0-9]*.zip
  190.  
  191. distinfo:    $(dest)slib.info.zip
  192. $(dest)slib.info.zip:    infotemp/slib
  193.     $(makedev) TEMP=infotemp/ DEST=$(dest) PROD=slib ver=.info zip
  194.     rm -rf infotemp
  195.  
  196. release:    dist
  197.     cp ANNOUNCE $(htmldir)SLIB_ANNOUNCE
  198.     $(RSYNC) $(htmldir)SLIB.html $(htmldir)SLIB_ANNOUNCE nestle.ai.mit.edu:public_html/
  199.     $(RSYNC) $(dest)README $(dest)slib$(VERSION).zip nestle.ai.mit.edu:dist/
  200. #    upload $(dest)README $(dest)slib$(VERSION).zip ftp.gnu.org:gnu/jacal/
  201. #    $(MAKE) indiana
  202. indiana:
  203.     upload $(dest)slib$(VERSION).zip ftp@ftp.cs.indiana.edu:/pub/scheme-repository/incoming
  204.     echo -e \
  205.     'I have uploaded slib$(VERSION).zip to ftp.cs.indiana.edu:/pub/scheme-repository/incoming\n' \
  206.     'for placement into ftp.cs.indiana.edu:/pub/scheme-repository/code/lib/' \
  207.      | mail -s 'SLIB upload' -b jaffer scheme-repository-request@cs.indiana.edu
  208.  
  209. postnews:
  210.     echo -e "Newsgroups: comp.lang.scheme\n" | cat - ANNOUNCE | \
  211.     inews -h -O -S \
  212.     -f "announce@docupress.com (Aubrey Jaffer & Radey Shouman)" \
  213.      -t "SLIB$(VERSION) Released" -d world
  214.  
  215. upzip:    $(HOME)/pub/slib.zip
  216.     $(RSYNC) $(HOME)/pub/slib.zip nestle.ai.mit.edu:pub/
  217.  
  218. dist:    $(dest)slib$(VERSION).zip
  219. $(dest)slib$(VERSION).zip:    temp/slib
  220.     $(makedev) DEST=$(dest) PROD=slib ver=$(VERSION) zip
  221.     cvs tag -F slib$(VERSION)
  222. shar:    slib.shar
  223. slib.shar:    temp/slib
  224.     $(makedev) PROD=slib shar
  225. dclshar:    slib.com
  226. com:    slib.com
  227. slib.com:    temp/slib
  228.     $(makedev) PROD=slib com
  229. zip:    slib.zip
  230. slib.zip:    temp/slib
  231.     $(makedev) PROD=slib zip
  232. doszip:    /c/scm/dist/slib$(VERSION).zip
  233. /c/scm/dist/slib$(VERSION).zip:    temp/slib
  234.     $(makedev) DEST=/c/scm/dist/ PROD=slib ver=$(VERSION) zip
  235.     zip -d /c/scm/dist/slib$(VERSION).zip slib/slib.info
  236. pubzip:    temp/slib
  237.     $(makedev) DEST=$(HOME)/pub/ PROD=slib zip
  238.  
  239. diffs:    pubdiffs
  240. pubdiffs:    temp/slib
  241.     $(makedev) DEST=$(HOME)/pub/ PROD=slib pubdiffs
  242. distdiffs:    temp/slib
  243.     $(makedev) DEST=$(dest) PROD=slib ver=$(ver) distdiffs
  244. announcediffs:    temp/slib
  245.     $(makedev) DEST=$(dest) PROD=slib ver=$(VERSION) announcediffs
  246.  
  247. psdfiles=COPYING.psd README.psd cmuscheme.el comint.el instrum.scm pexpr.scm \
  248.     primitives.scm psd-slib.scm psd.el read.scm runtime.scm version.scm
  249. psdocfiles=article.bbl article.tex manual.bbl manual.tex quick-intro.tex
  250.  
  251. psdtemp/slib:
  252.     -rm -rf psdtemp
  253.     mkdir psdtemp
  254.     mkdir psdtemp/slib
  255.     mkdir psdtemp/slib/psd
  256.     cd psd; ln $(psdfiles) ../psdtemp/slib/psd
  257.     mkdir psdtemp/slib/psd/doc
  258.     cd psd/doc; ln $(psdocfiles) ../../psdtemp/slib/psd/doc
  259.  
  260. psdist:    $(dest)slib-psd.tar.gz
  261. $(dest)slib-psd.tar.gz:    psdtemp/slib
  262.     $(makedev) DEST=$(dest) PROD=slib ver=-psd tar.gz TEMP=psdtemp/
  263.  
  264. new:
  265.     echo `date` \ Aubrey Jaffer \ \<`whoami`@`hostname`\>> change
  266.     echo>> change
  267.     echo \    \* require.scm \(*SLIB-VERSION*\): Bumped from $(VERSION) to $(ver).>>change
  268.     echo>> change
  269.     cat ChangeLog >> change
  270.     mv -f change ChangeLog
  271.     $(CHPAT) slib$(VERSION) slib$(ver) ANNOUNCE FAQ ../scm/ANNOUNCE \
  272.         ../jacal/ANNOUNCE ../wb/README ../wb/ANNOUNCE \
  273.         ../synch/ANNOUNCE \
  274.         $(htmldir)README.html ../dist/README \
  275.         $(htmldir)JACAL.html \
  276.         $(htmldir)SCM.html $(htmldir)Hobbit.html \
  277.         $(htmldir)SIMSYNCH.html ../scm/scm.texi \
  278.         /c/scm/dist/install.bat /c/scm/dist/makefile \
  279.         /c/scm/dist/mkdisk.bat
  280.     $(CHPAT) $(VERSION) $(ver) README slib.texi require.scm Makefile \
  281.          $(htmldir)SLIB.html
  282.     cvs commit -m '(*SLIB-VERSION*): Bumped from $(VERSION) to $(ver).'
  283.     cvs tag -F slib$(ver)
  284.  
  285. tagfiles = version.txi slib.texi $(mfiles) $(sfiles) $(bfiles) $(tfiles) \
  286.     $(ifiles)
  287. # README and $(ifiles) cause semgentation faults in ETAGS for Emacs version 19.
  288. tags:    $(tagfiles)
  289.     etags $(tagfiles)
  290. test:    $(sfiles)
  291.     scheme Template.scm $(sfiles)
  292. rights:
  293.     scm -ladmin -e"(admin:check-all)" $(sfiles) $(tfiles) \
  294.         $(bfiles) $(ifiles)
  295. report:
  296.     scmlit -e"(slib:report #t)"
  297.     scm -e"(slib:report #t)"
  298. clean:
  299.     -rm -f *~ *.bak *.orig *.rej core a.out *.o \#*
  300.     -rm -rf *temp
  301. distclean:    realclean
  302. realclean:
  303.     -rm -f *~ *.bak *.orig *.rej TAGS core a.out *.o \#*
  304.     -rm -f slib.info* slib.?? slib.???
  305.     -rm -rf *temp
  306. realempty:    temp/slib
  307.     -rm -f $(allfiles)
  308.